package samfeng.erp.quant.controller.admin.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
* 仓库计算记录 Base VO，提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
*/
@Data
public class QuantBaseVO {

    @ApiModelProperty(value = "产品单位", required = true)
    private Long productUomId;

    @ApiModelProperty(value = "产品", required = true)
    @NotNull(message = "产品不能为空")
    private Long productId;

    @ApiModelProperty(value = "产品类型", required = true)
    private Long lastCategoryId;

    @ApiModelProperty(value = "仓库", required = true)
    private Long warehouseId;

    @ApiModelProperty(value = "库位", required = true)
    @NotNull(message = "库位不能为空")
    private Long locationId;

    @ApiModelProperty(value = "数量")
    private Double quantity;

    @ApiModelProperty(value = "预留数量")
    private Double reservedQuantity;

    @ApiModelProperty(value = "可用数量")
    private Double availableQuantity;

    @ApiModelProperty(value = "计数数量")
    private Double inventoryQuantity;

    @ApiModelProperty(value = "差异数量")
    private Double inventoryDiffQuantity;

    @ApiModelProperty(value = "安排的日期")
//    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date inventoryDate;

}
